Improving IPC by Kernel

نویسنده

  • Jochen Liedtke
چکیده

Inter-process communication (ipc) has to be fast and eeective, otherwise programmers will not use remote procedure calls (RPC), multithreading and multitasking adequately. Thus ipc performance is vital for modern operating systems, especially-kernel based ones. Surprisingly , most-kernels exhibit poor ipc performance, typically requiring 100 s for a short message transfer on a modern processor, running with 50 MHz clock rate. In contrast, we achieve 5 s; a twentyfold improvement. This paper describes the methods and principles used, starting from the architectural design and going down to the coding level. There is no single trick to obtaining this high performance; rather, a synergetic approach in design and implementation on all levels is needed. The methods and their synergy are illustrated by applying them to a concrete example, the L3-kernel (an industrial-quality operating system in daily use at several hundred sites). The main ideas are to guide the complete kernel design by the ipc requirements, and to make heavy use of the concept of virtual address space inside the-kernel itself. As the L3 experiment shows, signiicant performance gains are possible: compared with Mach, they range from a factor of 22 (8-byte messages) to 3 (4-Kbyte messages). Although hardware speciic details innuence both the design and implementation, these techniques are applicable to the whole class of conventional general 0 Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or speciic permission. purpose von Neumann processors supporting virtual addresses. Furthermore, the eeort required is reasonably small, for example the dedicated parts of the-kernel can be concentrated in a single medium sized module. 1 The IPC Dilemma Inter-process communication (ipc) by message passing is one of the central paradigms of most-kernel based and other client/server architectures. It helps to increase modularity, exibility, security and scalability, and it is the key for distributed systems and applications. To gain acceptance by programmers and users, ipc has to become a very eecient basic mechanism. Surprisingly , most ipc implementations perform poorly. Dependent on the processor speed, transferring a short message by ipc typically takes between 50 and 500 s. A lot of eeort …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

User-Level Threads and Interprocess Communication

User-level threads have performance and exibility advantages over both Unix-like processes and kernel threads. However, the performance of user-level threads may su er in multiprogrammed environments, or when threads block in the kernel (e.g., for I/O). These problems can be particularly severe in tasks that communicate frequently using IPC (e.g., multithreaded servers), due to interactions bet...

متن کامل

Using Read-Copy-Update Techniques for System V IPC in the Linux 2.5 Kernel

Read-copy update (RCU) allows lock-free read-only access to data structures that are concurrently modified on SMP systems. Despite the concurrent modifications, read-only access requires neither locks nor atomic instructions, and can often be written as if the data were unchanging, in a “CS 101” style. RCU is typically applied to read-mostly linked structures that the read-side code traverses u...

متن کامل

Flexible Access Control using IPC Redirection

We present a mechanism for inter-process communication (IPC) redirection that enables efficient and flexible access control for micro-kernel systems. In such systems, services are implemented at user-level, so IPC is the only means of communication between them. Thus, the system must be able to mediate IPCs to enforce its access control policy. Such mediation must enable enforcement of security...

متن کامل

The increasing irrelevance of IPC Performance for Micro-kernel-Based Operating Systems

IPC is the glue with which traditional operating system services such as networking, and ling, are provided in microkernel-based operating systems. Because applications rely heavily on cross-address space communication, IPC performance is often viewed as being the \Achilles heel" of a microkernel-based operating system. In this paper I discuss four reasons why IPC performance is becoming increa...

متن کامل

RT-IPC: An IPC Extension for Real-Time Mach

Interprocess communication (IPC) provides the fundamental mechanism for the Mach microkernel to be extensible and exible. Mach IPC provides eecient communication mechanisms for many applications. However, it does not provide suucient functionality for real-time applications which have rigid timing constraints among threads. In Real-Time Mach (RT-Mach), we have extended Mach IPC to be priority i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993